package com.interview.utils;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;

public class JsonUtils {

    private static final ObjectMapper objectMapper = new ObjectMapper();

    /**
     * 将JSON字符串解析为指定类型的对象列表
     *
     * @param jsonString JSON字符串
     * @param typeRef    用于指定泛型类型的TypeReference实例
     * @param <T>        对象列表中对象的类型
     * @return 解析后的对象列表
     * @throws IOException 如果解析过程中发生I/O错误
     */
    public static <T> List<T> parseJsonToList(String jsonString, TypeReference<List<T>> typeRef) throws IOException {
        return objectMapper.readValue(jsonString, typeRef);
    }
}
